"""
FileName：send_report.py
Description：
Author：gaojiahui
Time：2025/8/26 14:45
Website：https://gitee.com/gao-jiahui
"""
import json
import sys
from pathlib import Path

from core.logger import logger
from utils.notifier import notifier

"""
    测试报告发送工具
"""

def main():
    """主函数"""
    # 检查参数
    if len(sys.argv) > 1:
        report_file = sys.argv[1]
    else:
        # 查找最新的测试报告
        report_dir = Path("test-reports")
        if not report_dir.exists():
            logger.error("测试报告目录不存在")
            return 1

        json_files = list(report_dir.glob("test_report_*.json"))
        if not json_files:
            logger.error("未找到测试报告文件")
            return 1

        # 使用最新的报告文件
        report_file = sorted(json_files)[-1]

    # 读取测试报告
    try:
        with open(report_file, 'r', encoding='utf-8') as f:
            test_results = json.load(f)
    except Exception as e:
        logger.error(f"读取测试报告失败: {str(e)}")
        return 1

    # 发送通知
    if notifier.send_test_report(test_results):
        logger.info("测试报告发送成功")
        return 0
    else:
        logger.error("测试报告发送失败")
        return 1

if __name__ == '__main__':
    sys.exit(main())